package 集合进阶.双列集合.HashMap集合;

import java.awt.image.ImageProducer;
import java.util.*;

public class 统计练习 {
    public static void main(String[] args) {
        //1.同学进行投票
        //定义一个数组存储4个景点
        String [] arr={"A","B","C","D"};
        Random ra=new Random();
        //创建一个数组存储投票的结果
        ArrayList<String> list=new ArrayList<>();
        //模拟80个同学进行投票
        for (int i=1;i<=80;i++){
            int index = ra.nextInt(arr.length);
            list.add(arr[index]);
        }

        //2.统计每个景点投票的次数
        //创建一个map集合进行统计
        Map<String,Integer> count=new HashMap<>();
        for (String name : list) {
            if (count.containsKey(name)){
                //存在
                //获取原来的次数(值)
                Integer num = count.get(name);
                //更新次数
                num++;
                //把新的次数添加到集合中
                count.put(name,num);
            }else {
                //不存在
                count.put(name,1);
            }
        }
        //3.求map集合的最大值
        int max=0;
        for (Integer value : count.values()) {
            if (value>max) {max=value;
            }
        }

        //判断那个键的值等于最大值
        //获取键值对对象
        Set<Map.Entry<String, Integer>> entries = count.entrySet();
        for (Map.Entry<String, Integer> entry : entries) {
            if (entry.getValue()==max){
                System.out.println(entry.getKey()+","+max);
            }
        }
        System.out.println(count);
    }
}
